합성(Composition)
함수 합성은 함수들을 조합하여 새로운 함수를 만드는 것이다.함수형 프로그램은 로직을 작고 순수한 함수들로 나눈다. 따라서 결국에는 이 작은 함수를 결합해서 애플리케이션을 완성해야 한다. 이 함수들을 순차적으로 또는 병렬적으로 호출하거나 결합(combine) 하여 애플리케이션을 만들어낼 수 있다. 합성(composition) 을 하는 방법에는 여러가지 방법이 있다.
출처: [JavaScript] 함수 합성(Function Composition)
체이닝
자바스크립트에서는 함수들이 점 표기법(dot notation)을 사용하여, 이전 함수의 반환값에 대해 연속적으로 호출하여 구성할 수 있다.함수에 차례로 인자를 전달하여 실행하기
인자를 받아, 각 함수에 차례로 전달하여 실행한다.특정 함수의 리턴 값이 입력이 되고, 이어 다음 함수를 실행시켜 결과를 반환한다. 이런 방식으로 결합하여 값을 변경한다.
고차 함수를 사용하여 함수 합성하기
또한 합성된 함수의 순서를 바꾸기도 쉽다. 여기서 합성 함수는 고차함수이다.
이
both 함수는 여러 함수들을 인자로 받아, 단일 함수를 반환 한다.
compose.ts